#include<iostream>
//1

int divide(int a,int b)
{
    if(b==0)
        throw "除数不能为0";//抛出异常
    if(b==2)
        throw 3.14;
    return a/b;
}
int main()
{
    try //尝试执行某些代码
    {
    std::cout<<divide(1,2)<<std::endl;
    }
    //捕获异常:类型必须要严格匹配（包括const关键字，short和int也是不一样的,默认整型为int型）
    catch(char const *str)
    {
        std::cout<<str<<std::endl;

    }
    catch(short a)
    {
        std::cout<<"short: "<<a<<std::endl;
    }
    catch(int a)//捕获不同类型的多分支异常
    {
        std::cout<<"捕获Int: "<<a<<std::endl;
    }
    catch(...) //捕获其他任何类型异常
    {
        std::cout<<"捕获其他类型异常\n";
    }
    std::cout<<"继续执行..."<<std::endl;
    return 0;
}